﻿<ResourceDictionary
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   xmlns:local="clr-namespace:Bookvar.UI"
    >

	<Style x:Key="TabItemFocusVisual">
		<Setter Property="Control.Template">
			<Setter.Value>
				<ControlTemplate>
					<Rectangle SnapsToDevicePixels="true" Stroke="Black" StrokeDashArray="1 2" StrokeThickness="1" Margin="3,3,3,1"/>
				</ControlTemplate>
			</Setter.Value>
		</Setter>
	</Style>
	<LinearGradientBrush x:Key="ThumbnailTooltipBackground" EndPoint="0.486,0.72" StartPoint="0.486,-0.002">
		<GradientStop Color="#FFA0C0E7" Offset="0"/>
		<GradientStop Color="#FFFFFFFF" Offset="1"/>
	</LinearGradientBrush>

	<SolidColorBrush x:Key="TabControlNormalBorderBrush" Color="#8C8E94"/>
	<LinearGradientBrush x:Key="TabItemHotBackground" EndPoint="1,0.5" StartPoint="0,0.5">
		<GradientStop Color="#FFFFFFFF" Offset="0"/>
		<GradientStop Color="#FF7498C8" Offset="0.621"/>
		<GradientStop Color="#FFDDE9F5" Offset="1"/>
		<GradientStop Color="#FFDDE9F5" Offset="0.325"/>
		<GradientStop Color="#FF7498C8" Offset="0.869"/>
	</LinearGradientBrush>
	<LinearGradientBrush x:Key="TabItemSelectedBackground" EndPoint="1,0.5" StartPoint="0,0.5">
		<GradientStop Color="#FFFFFFFF" Offset="0"/>
		<GradientStop Color="#FF7498C8" Offset="0.621"/>
		<GradientStop Color="#FFDDE9F5" Offset="1"/>
		<GradientStop Color="#FFDDE9F5" Offset="0.325"/>
		<GradientStop Color="#FF7498C8" Offset="0.869"/>
	</LinearGradientBrush>
	<SolidColorBrush x:Key="TabItemHotBorderBrush" Color="#3C7FB1"/>
	<SolidColorBrush x:Key="TabItemDisabledBackground" Color="#F4F4F4"/>
	<SolidColorBrush x:Key="TabItemDisabledBorderBrush" Color="#FFC9C7BA"/>

	<Style TargetType="{x:Type local:CloseableTabItem}" >
		<Style.Resources>
			<LinearGradientBrush x:Key="ButtonNormalBackground" EndPoint="0,1" StartPoint="0,0">
				<GradientStop Color="#F3F3F3" Offset="0"/>
				<GradientStop Color="#EBEBEB" Offset="0.5"/>
				<GradientStop Color="#DDDDDD" Offset="0.5"/>
				<GradientStop Color="#CDCDCD" Offset="1"/>
			</LinearGradientBrush>
			<LinearGradientBrush x:Key="ButtonOverBackground" EndPoint="0,1" StartPoint="0,0">
				<GradientStop Color="#FFFAFAFA" Offset="0"/>
				<GradientStop Color="#FFE0E0E3" Offset="1"/>
			</LinearGradientBrush>
			<LinearGradientBrush x:Key="ButtonPressedBackground" EndPoint="0,1" StartPoint="0,0">
				<GradientStop Color="#FFE0E0E2" Offset="0"/>
				<GradientStop Color="#FFF8F8F8" Offset="1"/>
			</LinearGradientBrush>
			<SolidColorBrush x:Key="ButtonNormalBorder" Color="#FF969696"/>
			<Style x:Key="CloseableTabItemButtonStyle" TargetType="{x:Type Button}">
				<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
				<Setter Property="Background" Value="{StaticResource ButtonNormalBackground}"/>
				<Setter Property="BorderBrush" Value="{StaticResource ButtonNormalBorder}"/>
				<Setter Property="BorderThickness" Value="1"/>
				<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
				<Setter Property="HorizontalContentAlignment" Value="Center"/>
				<Setter Property="VerticalContentAlignment" Value="Center"/>
				<Setter Property="Padding" Value="4"/>
				<Setter Property="Template">
					<Setter.Value>
						<ControlTemplate TargetType="{x:Type Button}">
							<Grid>
								<Border SnapsToDevicePixels="True" x:Name="Chrome"
										Background="{TemplateBinding Background}"
										BorderBrush="{TemplateBinding BorderBrush}"
										BorderThickness="{TemplateBinding BorderThickness}"
										CornerRadius="2" Opacity="0" />
								<ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True"/>
							</Grid>
							<ControlTemplate.Triggers>
								<Trigger Property="IsMouseOver" Value="True">
									<Setter Property="Opacity" TargetName="Chrome" Value="1"/>
									<Setter Property="Background" TargetName="Chrome" Value="{DynamicResource ButtonOverBackground}" />
								</Trigger>
								<Trigger Property="IsPressed" Value="True">
									<Setter Property="Opacity" TargetName="Chrome" Value="1"/>
									<Setter Property="Background" TargetName="Chrome" Value="{DynamicResource ButtonPressedBackground}" />
								</Trigger>
								<Trigger Property="IsEnabled" Value="false">
									<Setter Property="Foreground" Value="#ADADAD"/>
								</Trigger>
							</ControlTemplate.Triggers>
						</ControlTemplate>
					</Setter.Value>
				</Setter>
			</Style>
		</Style.Resources>
		<Setter Property="FocusVisualStyle" Value="{StaticResource TabItemFocusVisual}"/>
		<Setter Property="Foreground" Value="Black"/>
		<Setter Property="Padding" Value="6,1,6,1"/>
		<Setter Property="BorderBrush" Value="{StaticResource TabControlNormalBorderBrush}"/>
		<!--<Setter Property="Background" Value="{TemplateBinding Background}"/>-->
		<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
		<Setter Property="VerticalContentAlignment" Value="Stretch"/>
		<Setter Property="Template">
			<Setter.Value>
				<ControlTemplate TargetType="{x:Type local:CloseableTabItem}">
					<StackPanel x:Name="ContentPanel"  Orientation="Horizontal" >
						<Border x:Name="Bd" Background="{TemplateBinding Background}"
								BorderBrush="{TemplateBinding BorderBrush}"
								BorderThickness="1,1,1,0" CornerRadius="2,0,0,22" Margin="0,0,0,-6"  >

							<StackPanel Orientation="Horizontal"  Margin="0,0,0,5"  >
								<StackPanel.ToolTip>
									
									<Border SnapsToDevicePixels="true" Background="{StaticResource ThumbnailTooltipBackground}"
											BorderBrush="#FF80A3D1" BorderThickness="1,1,1,1"
											CornerRadius="4">
										<Image Source="{Binding Path=MainTopic.Thumbnail}"
											   Width="190" Height="190" />
									</Border>
								</StackPanel.ToolTip>
								<StackPanel.LayoutTransform>
									<RotateTransform Angle="-90" />
								</StackPanel.LayoutTransform>


								<ContentPresenter x:Name="Content"
												  SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
												  ContentSource="Header"
												  RecognizesAccessKey="True"
												  HorizontalAlignment="Center"
												  VerticalAlignment="Center"
												  Margin="{TemplateBinding Padding}"	 >

								</ContentPresenter>
								<Button x:Name="PART_Close" HorizontalAlignment="Center" Margin="3,0,3,0" VerticalAlignment="Center" Width="16" Height="16" DockPanel.Dock="Right" Style="{DynamicResource CloseableTabItemButtonStyle}" ToolTip="Close Tab">
									<Path x:Name="Path" Stretch="Fill" StrokeThickness="0.5" Stroke="#FF333333" Fill="#FF969696" Data="F1 M 2.28484e-007,1.33331L 1.33333,0L 4.00001,2.66669L 6.66667,6.10352e-005L 8,1.33331L 5.33334,4L 8,6.66669L 6.66667,8L 4,5.33331L 1.33333,8L 1.086e-007,6.66669L 2.66667,4L 2.28484e-007,1.33331 Z " HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
								</Button>
							</StackPanel>

						</Border>
					</StackPanel>
					<ControlTemplate.Triggers>
						<Trigger Property="IsMouseOver" SourceName="PART_Close" Value="True">
							<Setter Property="Fill" TargetName="Path" Value="#FFB83C3D"/>
						</Trigger>
						<Trigger Property="IsPressed" SourceName="PART_Close" Value="True">
							<Setter Property="Fill" TargetName="Path" Value="#FF9D3838"/>
						</Trigger>
						<Trigger Property="IsMouseOver" Value="true">
							<Setter Property="Background" TargetName="Bd" Value="{StaticResource TabItemHotBackground}"/>
						</Trigger>
						<Trigger Property="IsSelected" Value="true">
							<Setter Property="Panel.ZIndex" Value="100"/>
							<Setter Property="Visibility" TargetName="PART_Close" Value="Visible"/>
							<Setter Property="Background" TargetName="Bd" Value="{StaticResource TabItemSelectedBackground}"/>
						</Trigger>
						<MultiTrigger>
							<MultiTrigger.Conditions>
								<Condition Property="IsSelected" Value="false"/>
								<Condition Property="IsMouseOver" Value="true"/>
							</MultiTrigger.Conditions>
							<Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource TabItemHotBorderBrush}"/>
						</MultiTrigger>
						<Trigger Property="TabStripPlacement" Value="Bottom">
							<Setter Property="BorderThickness" TargetName="Bd" Value="1,0,1,1"/>
						</Trigger>
						<Trigger Property="TabStripPlacement" Value="Left">
							<Setter Property="BorderThickness" TargetName="Bd" Value="1,1,0,1"/>
						</Trigger>
						<Trigger Property="TabStripPlacement" Value="Right">
							<Setter Property="BorderThickness" TargetName="Bd" Value="0,1,1,1"/>
						</Trigger>
						<MultiTrigger>
							<MultiTrigger.Conditions>
								<Condition Property="IsSelected" Value="true"/>
								<Condition Property="TabStripPlacement" Value="Top"/>
							</MultiTrigger.Conditions>
							<Setter Property="Margin" Value="-2,-2,-2,-1"/>
							<Setter Property="Margin" TargetName="ContentPanel" Value="0,0,0,1"/>
						</MultiTrigger>
						<MultiTrigger>
							<MultiTrigger.Conditions>
								<Condition Property="IsSelected" Value="true"/>
								<Condition Property="TabStripPlacement" Value="Bottom"/>
							</MultiTrigger.Conditions>
							<Setter Property="Margin" Value="-2,-1,-2,-2"/>
							<Setter Property="Margin" TargetName="ContentPanel" Value="0,1,0,0"/>
						</MultiTrigger>
						<MultiTrigger>
							<MultiTrigger.Conditions>
								<Condition Property="IsSelected" Value="true"/>
								<Condition Property="TabStripPlacement" Value="Left"/>
							</MultiTrigger.Conditions>
							<Setter Property="Margin" Value="-2,-2,-1,-2"/>
							<Setter Property="Margin" TargetName="ContentPanel" Value="0,0,1,0"/>
						</MultiTrigger>
						<MultiTrigger>
							<MultiTrigger.Conditions>
								<Condition Property="IsSelected" Value="true"/>
								<Condition Property="TabStripPlacement" Value="Right"/>
							</MultiTrigger.Conditions>
							<Setter Property="Margin" Value="-1,-2,-2,-2"/>
							<Setter Property="Margin" TargetName="ContentPanel" Value="1,0,0,0"/>
						</MultiTrigger>
						<Trigger Property="IsEnabled" Value="false">
							<Setter Property="Background" TargetName="Bd" Value="{StaticResource TabItemDisabledBackground}"/>
							<Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource TabItemDisabledBorderBrush}"/>
							<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
							<Setter Property="Visibility" TargetName="PART_Close" Value="Collapsed"/>

						</Trigger>
					</ControlTemplate.Triggers>
				</ControlTemplate>
			</Setter.Value>
		</Setter>
	</Style>

	<LinearGradientBrush x:Key="{ComponentResourceKey TypeInTargetAssembly={x:Type local:CloseableTabItem},ResourceId=GreenTabBrush}" EndPoint="1,0.5" StartPoint="0,0.5">
		<GradientStop Color="#FF22DF27" Offset="0"/>
		<GradientStop Color="#FF2B7800" Offset="0.621"/>
		<GradientStop Color="#FF22D925" Offset="1"/>
		<GradientStop Color="#FE22DA25" Offset="0.325"/>
		<GradientStop Color="#FF2A7D02" Offset="0.869"/>
	</LinearGradientBrush>
	<LinearGradientBrush x:Key="{ComponentResourceKey TypeInTargetAssembly={x:Type local:CloseableTabItem},ResourceId=YellowTabBrush}" EndPoint="1,0.5" StartPoint="0,0.5">
		<GradientStop Color="#FFE4E100" Offset="0"/>
		<GradientStop Color="#FFB1AB00" Offset="0.621"/>
		<GradientStop Color="#FFE4E100" Offset="1"/>
		<GradientStop Color="#FFE4E100" Offset="0.325"/>
		<GradientStop Color="#FFB1AB00" Offset="0.869"/>
	</LinearGradientBrush>
	<LinearGradientBrush x:Key="{ComponentResourceKey TypeInTargetAssembly={x:Type local:CloseableTabItem},ResourceId=BlueTabBrush}" EndPoint="1,0.5" StartPoint="0,0.5">
		<GradientStop Color="#FF00B6E4" Offset="0"/>
		<GradientStop Color="#FF00899D" Offset="0.621"/>
		<GradientStop Color="#FF00B6E4" Offset="1"/>
		<GradientStop Color="#FF00B6E4" Offset="0.325"/>
		<GradientStop Color="#FF00899D" Offset="0.869"/>
	</LinearGradientBrush>
	<LinearGradientBrush x:Key="{ComponentResourceKey TypeInTargetAssembly={x:Type local:CloseableTabItem},ResourceId=PurpleTabBrush}" EndPoint="1,0.5" StartPoint="0,0.5">
		<GradientStop Color="#FFE595D3" Offset="0"/>
		<GradientStop Color="#FF8E007C" Offset="0.621"/>
		<GradientStop Color="#FFE595D3" Offset="1"/>
		<GradientStop Color="#FFE595D3" Offset="0.325"/>
		<GradientStop Color="#FF8E007C" Offset="0.869"/>
	</LinearGradientBrush>
	<LinearGradientBrush x:Key="ActiveTabBrush" EndPoint="1,0.5" StartPoint="0,0.5">
		<GradientStop Color="#FFFFFFFF" Offset="0"/>
		<GradientStop Color="#FF7498C8" Offset="0.621"/>
		<GradientStop Color="#FFDDE9F5" Offset="1"/>
		<GradientStop Color="#FFDDE9F5" Offset="0.325"/>
		<GradientStop Color="#FF7498C8" Offset="0.869"/>
	</LinearGradientBrush>
</ResourceDictionary>
